package com.wanxi.coupons.mapper;


import com.wanxi.coupon.api.entity.Coupon;
import com.wanxi.coupon.api.entity.CouponStatistic;
import com.wanxi.coupon.api.query.CommonQuery;
import com.wanxi.coupon.api.query.CouponIsUseQuery;
import com.wanxi.coupon.api.query.CouponUserQuery;
import com.wanxi.coupon.api.result.CommonResult;
import com.wanxi.coupon.api.vo.CouponUserTDO;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface CouponUserMapper {

    List<Coupon> findAll(Coupon coupon);

    List<Coupon> findById( Long id);

    int add(Coupon data);

    /**
     * @Author lxl
     * @Description //TODO  用户使用
     * @Date  2022/1/6 14:39
     * @Params  * @param userId 用户id couponId优惠券id
     * @return null
     **/
    int useCoupon(Coupon coupon);

    /**
     * @Author lxl
     * @Description //TODO  查询是否可用
     * @Date  2022/1/6 14:39
     * @Params  * @param userId 用户id couponId优惠券id
     * @return null
     **/
    List<Coupon> findUsable(Coupon coupon);

    /**
     * @Author lxl
     * @Description //TODO  统计
     * @Date  2022/1/6 14:39
     * @Params  * @param userId 用户id couponId优惠券id
     * @return null
     **/
    int addCouponStatistic(CouponStatistic coupon);

    /**
     * @Author lxl
     * @Description //TODO  查询是否可领取
     * @Date  2022/1/6 14:39
     * @Params  * @param userId 用户id couponId优惠券id
     * @return null
     **/
    CouponStatistic findIsGet(Long id);

    List<Coupon> findIsUse(Coupon query);
}
